package com.basics.type;

public class TypeDemo2 {
    public static void main(String[] args) {
        //目标：理解表达式的自动类型提升
        //byte/short/char -> int -> long -> float -> double
        int result1 = add2((byte)110, (byte)120);
        System.out.println(result1);
    }

    //需求：接收各种类型的数据运算
    public static double add(int a, int b, double c, char d) {
        //表达式的结果类型是表达式中最大的数据类型决定的
        return a + b + c + d;
    }

    public static int add2(byte a, byte b) {//用更大的数据类型接收避免数据丢失
        //byte/short/char之间的运算会自动提升为int类型
        return a + b;
    }

    public static byte add3(byte a, byte b) {
        byte c = (byte)(a + b);//这样语法上是可以的
        return c;//这样可以返回byte类型的数据
    }
}
